package bd;

import java.sql.*;

/**
 * Esta classe cria e gerencia uma conexão com o banco de dados.
 */
public class ConexaoBD {

  private Connection conexao; //Usada para estabelecer uma conexao com o banco de dados

  public ConexaoBD() {
    conexao = null;
    String userName = "root";
    String password = "";
    String url = "jdbc:mysql://localhost/agenda";

    try {
      Class.forName("com.mysql.jdbc.Driver").newInstance();
      conexao = DriverManager.getConnection(url, userName, password);
    } catch (Exception excecao) {
      System.err.println("Erro ao conectar com o banco: " + excecao.getMessage());
    }
  }

  /**
   * Esta funcao retorna uma conexao estabelecida com o banco de dados
   *
   * @return conexao - A conexao estabelecida com o banco de dados
   */
  public Connection getConexao() {
    return conexao;
  }

  /**
   * Este procedimento fecha a conexao com o banco de dados
   */
  public void fecharConexao() {
    try {
      if (getConexao() != null) {
        if (!conexao.isClosed()) {
          getConexao().close();
        }
      }
    } catch (Exception excecao) {
      System.err.println("Erro ao fechar a conexao com o banco: " + excecao.getMessage());
    }
  }
}
